TOP

LibreOffice Calc में Google अनुवाद

YLC Utilities logo

विवरण

LibreOffice Calc प्रोग्राम की मानक कार्यक्षमता में पाठ को अन्य भाषाओं में अनुवाद करने के कार्य शामिल नहीं हैं। हालाँकि, कोई भी उपयोगकर्ता स्वतंत्र रूप से ऐसा फ़ंक्शन बना सकता है।

इस लेख में, हम कस्टम फ़ंक्शन GoogleTranslate_YouLibrecalc() को देखेंगे, जो आपको किसी भी वर्कशीट पर सीधे सेल में टेक्स्ट का अनुवाद करने की अनुमति देगा।

फ़ंक्शन टेक्स्ट का अनुवाद करने के लिए साइट का उपयोग करता है "गूगल अनुवाद" और किसी भी सूत्र में स्वतंत्र रूप से और अन्य मानक कार्यों के साथ उपयोग किया जा सकता है।



फ़ंक्शन के लिए StarBASIC कोड Google Translate

जमा करना फ़ंक्शन Google Translate , मेनू खोलें Tools - Macros - Edit Macros... , चुनना Module1 और निम्नलिखित पाठ को मॉड्यूल में कॉपी करें:

Option VBASupport 1

Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String)
  ' moonexcel.com.ua 
  Dim FCalc      As Object
  Dim WebsiteURL As String  
  Dim XMLHTTP    As Object
  Dim oHTML      As Object
  Dim HTMLDoc    As HTMLDocument
  Dim ObjClass   As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") 
  TextToTranslate =  FCalc.callFunction("ENCODEURL", Array(TextToTranslate))
  
  SrcLang = LCase(SrcLang)
  TrgLang = LCase(TrgLang)
  
  IF SrcLang = "zh-cn" Then SrcLang = "zh-CN"
  IF SrcLang = "zh-tw" Then SrcLang = "zh-TW"
  
  IF TrgLang = "zh-cn" Then TrgLang = "zh-CN"
  IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" 
    
  WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate
    
  ' हम AJAX अनुरोध का उपयोग करके वेब सर्वर पर एपीआई कॉल निष्पादित करते हैं 
  Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
 
  XMLHTTP.Open "GET", WebsiteURL, False  
  XMLHTTP.Send
 
  ' हम AJAX अनुरोध के प्रतिक्रिया पाठ का उपयोग करके एक HTML दस्तावेज़ बनाते हैं 
  Set oHTML = CreateObject("HTMLFile")
  With oHTML
        .Open
        .Write XMLHTTP.responseText
        .Close
  End With
  
  ' हम वेब तत्वों की लाइब्रेरी का उपयोग करके HTML टेक्स्ट को ऑब्जेक्ट मॉडल में परिवर्तित करते हैं Microsoft HTML Object लाइब्रेरी 
  Set HTMLDoc = oHTML  
  
  Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0)
  If Not ObjClass Is Nothing Then
    GoogleTranslate_YouLibreCalc = ObjClass.innerText    
  End If 
 
  ' हम स्मृति को मुक्त करते हैं 
  Set ObjClass = Nothing
  Set oHTML    = Nothing
  Set XMLHTTP  = Nothing  
End Function

अगला, बंद करें Macro Editor और वर्कशीट पर वापस लौटें LibreOffice Calc , किसी भी सेल का चयन करें और हमारी नई सुविधा का उपयोग करें GoogleTranslate_YouLibrecalc() .

एक्सटेंशन का उपयोग करना

आप निःशुल्क एक्सटेंशन इंस्टॉल करके GOOGLETRANSLATE() फ़ंक्शन का भी उपयोग कर सकते हैं YouLibrecalc.oxt या इसका पूर्ण विशेषताओं वाला संस्करण YLC_Utilities.oxt .

उसके बाद, यह फ़ंक्शन उन सभी फ़ाइलों में उपलब्ध होगा जो LibreOffice Calc में खोली जाएंगी।